---
-- @param params
-- @return
return function(alpha)
    local self = display.newGroup();
    
    self.Layer = display.newRect(self, 0, 0, screenWidth, screenHeight);
    self.Layer.alpha = alpha or 0;
    self.Layer.isHitTestable = true;
    
    function self:tap(event)
        return true
    end
    
    function self:touch(event)
        if event.phase == "ended" then
            self:dispatchEvent{name="Modal"; action="touch.ended"}
        end
        return true
    end
    
    self.Layer:addEventListener("touch", self);
    self.Layer:addEventListener("tap", self);
    
    return self;
end